package iRule;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;

import libra.MyselfRandomIRule;

/**
 * 替换Ribbon负载均衡规则的配置类
 * ！！！：官方明确要求配置自定义负载均衡算法实例bean的配置文件，不能放在@ComponentScan所扫描的当前包及子包下。
 * 		  否则我们自定义的配置类会被所有的Ribbon客户端锁共享，达不到特殊化定制的目的。
 */
@Configuration
public class RuleConfig {
	/**
	 * 替换默认的复杂均衡规则【轮训】->【随机】
	 * 不能同时配置两个IRule，否则进行负载策略时会报错
	 */
	@Bean
	public IRule randomRule(){
//		return new RandomRule();
		return new MyselfRandomIRule();
	}
}
